package com.ken.apollo.domain.vo;

import com.ken.apollo.domain.entity.MailSendDetail;
import lombok.Data;

import java.time.LocalDateTime;
import java.util.List;

/**
 * 邮件群发视图对象
 *
 * @author Ken
 * @since 2025-08-25
 */
@Data
public class MailBatchSendVo {
    
    /**
     * 主键ID
     */
    private Long id;
    
    /**
     * 群发任务名称
     */
    private String batchName;
    
    /**
     * 邮件主题
     */
    private String subject;
    
    /**
     * 邮件内容
     */
    private String content;
    
    /**
     * 发送者邮箱
     */
    private String senderEmail;
    
    /**
     * 发送者姓名
     */
    private String senderName;
    
    /**
     * 总数量
     */
    private Integer totalCount;
    
    /**
     * 成功数量
     */
    private Integer successCount;
    
    /**
     * 失败数量
     */
    private Integer failedCount;
    
    /**
     * 发送状态
     */
    private String status;
    
    /**
     * 状态描述
     */
    private String statusDesc;
    
    /**
     * 进度百分比
     */
    private Double progressPercent;
    
    /**
     * 开始发送时间
     */
    private LocalDateTime startedAt;
    
    /**
     * 完成时间
     */
    private LocalDateTime completedAt;
    
    /**
     * 错误信息
     */
    private String errorMessage;
    
    /**
     * 创建时间
     */
    private LocalDateTime createTime;
    
    /**
     * 更新时间
     */
    private LocalDateTime updateTime;
    
    /**
     * 发送详情列表
     */
    private List<MailSendDetail> sendDetails;
}